package work.parabola.keyboardswitch.service;

import work.parabola.keyboardswitch.common.ServerResponse;
import work.parabola.keyboardswitch.pojo.UserSession;
import work.parabola.keyboardswitch.pojo.query.plate.*;
import work.parabola.keyboardswitch.pojo.query.storeswitch.AutoProduceTesterQuery;

public interface IPlateService {

    ServerResponse addTester(AddTesterQuery addTesterQuery, UserSession userSession);

    ServerResponse getAdminTestList(ListQuery listQuery, UserSession userSession);

    ServerResponse deleteAdminTester(UserSession userSession, Integer id);

    ServerResponse getAdminTesterDetail(UserSession userSession, Integer id);

    ServerResponse editAdminTester(UserSession userSession, EditTesterQuery editTesterQuery);

    ServerResponse setAdminTesterSwitch(SetTesterSwitchQuery setTesterSwitchQuery);

    ServerResponse emptyAdminTesterSwitch(Integer cellId);

    ServerResponse emptyAdminTesterSwitchRow(Integer cellId);

    ServerResponse emptyAdminTesterSwitchCol(Integer cellId);

    ServerResponse forwardAdminTesterSwitch(Integer cellId);

    ServerResponse backwardAdminTesterSwitch(Integer cellId);

    ServerResponse calAdminTesterPrice(Integer id, UserSession userSession);

    ServerResponse autoChooseAdminTester(Integer plateId);

    ServerResponse autoAdminProduceTester(AutoProduceTesterQuery autoProduceTesterQuery, UserSession userSession);

    ServerResponse resizeAdminTester(ResizeQuery resizeQuery);

    ServerResponse checkoutAdminTester(Integer id, UserSession userSession);

    ServerResponse showListAdminTester(Integer id, UserSession userSession);

    ServerResponse autoAdminPlaceTester(Integer id, UserSession userSession);
}
